package ace.module.oauth2.server.api.callback;

import ace.module.oauth2.server.api.callback.model.input.Oauth2AceAuthorizationCallbackInput;
import ace.module.oauth2.server.api.model.dto.ext.Oauth2AceUserInfoResultDto;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;

/**
 * ace授权方式的获取账户资料回调协议.
 *
 * @author caspar
 */
public interface Oauth2AceAuthorizationCallbackApi {

  /**
   * 获取对应账户授权资料.
   *
   * @return 账户授权数据
   */
  Oauth2AceUserInfoResultDto getUserInfo(@Valid @NotNull Oauth2AceAuthorizationCallbackInput input);
}
